Applications involving memory circuits frequently employ approaches to protect memory data and addresses against faults that can cause functional errors. The approaches include on-line and off-line fault detection and error correction.
With on-line approaches based on error correcting code (ECC), permanent, transient, intermittent, and latent faults are potentially identified and corrected during functional operation. With off-line approaches based on dedicated hardware and/or software, errors are addressed during power-on sequences or other situations in which a circuit is not engaged in functional activities.